// informatica per il 17 04 18.cpp : Defines the entry point for the console application.
/*    ordina
   carica 
   sostituisci
*/

#include "stdafx.h"
#include <iostream>
#include <string.h>
#include <time.h>
#define NR 10
#define NC 10
using namespace std;
void carica(char str[][NC]);
void sostituisci(char str[][NC]);
void ordina(char str[][NC]);
void visualizza(char str[][NC]);

int main()
{
	char str[NR][NC];
	carica(str);
 sostituisci(str);
	ordina(str);
	visualizza(str);

	system("pause");
    return 0;
}

void carica(char str[][NC]) {
	srand(time(NULL));
	for (int i = 0; i < NR; i++) {
		for (int j = 0; j < NC-1; j++) {
			//str[i][j] = (char) 97 + rand()% (122-97+1);
			str[i][j] = 'a'+ rand() % ('z' - 'a' + 1);
		}
		str[i][NC - 1] = '\0';
	}
}
void sostituisci(char str[][NC]) {
	char k[NC];
	int r;
	printf("inserire riga da sostituire\n");
	cin >> r;
	printf("inserire la stringha da sostituire \n");
	cin >> k;
	strcpy_s(str[r], NC,k);


}
void ordina(char str[][NC]) {
	int cont = 0;
	int l= 0;//strlen
	int k = 0;
	char temp[NC];
	for (int i = 0; i < NR; i++) {
		l = strlen(str[i]);
		k= strlen(str[i+1]);
		if (l <= k) {
			strcpy_s(temp, str[i]);
			strcpy_s(str[i],str[i+1]);
			strcpy_s(str[i+1],temp);
		}
		}
	
}

void visualizza(char str[][NC]) {
	for (int j = 0; j < NR; j++)
	{
		printf("%d: %s", j + 1, str [j]);
		printf("\n");
	}
}